Data processors are used in nearly every type of modern electronic device, including consumer electronics, industrial machinery, scientific apparatuses and communication networks. However, the performance and degree of complexity of the data processors (or microprocessors) used in different applications may vary widely. The speed and power requirements of a particular application are important in determining the type of data processor used.
The type of data processor used is particularly important in software-defined radio (SDR) implementations. An SDR device uses reconfigurable hardware that may be programmed over the air to operate under different wireless protocols. For example, an SDR transceiver in a wireless laptop computer may be configured by a first software load to operate in an IEEE-802.11x wireless network and may be reconfigured by a second software load to operate in a CDMA2000 wireless network.
There are six main types of data processors in common use: 1) digital signal processors, 2) reduced instruction set computers, 3) complex instruction set computers, 4) field programmable gate arrays, 5) application specific integrated circuits, and 6) application specific instruction set processors. Each of these types of data processors has particular advantages and particular disadvantages.
A digital signal processor (DSP) is a general-purpose processor optimized to efficiently execute digital signal processing operations, such as a Multiply-Accumulate operation for finite impulse response (FIR) filtering and Fast Fourier Transform (FFT) operations. A DSP implements many sophisticated addressing modes to cover many of the DSP calculation requirements, such as bit reverse addressing mode for FFT, index addressing for FIFO devices, and the like. Examples of DSPs include: 1) the Motorola 56000, 56300, SC81xx, and MRC6011 processors; 2) the Texas Instruments (TI) C55, C6203, C6416, and C67xx processors; 3) the ADI Sharc and TigerSharc processors; and 4) the Morpho MS1-64 Reconfigurable DSP.
A reduced instruction set computer (RISC) is a general purpose processor (GPP) that mainly targets control applications, such as media access control (MAC) applications. The main advantage of the RISC machine is its simplicity. As its name, A RISC processor has small instruction set, which provides more code density as well as faster change-of-flow reaction. Examples of RISC devices include: 1) ARM processors (e.g., ARM926, ARM1136J); 2) MIPS processors (e.g., MIPS32, MIPS64); 3) the IBM PowerPC 405 and 750FX; and 4) the Motorola PowerPC 603.
A complex instruction set computer (CISC) device is a general purpose processor (GPP) targeted to the general purpose applications ranging from multimedia applications to PC applications. Examples of CISC processors include: 1) the Intel Pentium; and 2) the Motorola 68000.
The field programmable gate array (FPGA) is a reconfigurable hardware device based on an array of hardware cells connected through long busses and local busses. FPGA devices are quite commonly used in wireless network base station applications and prototypes. Examples of FPGA devices include: 1) the Xilinx Virtex IV; and 2) the Altera Stratix II.
An application specific integrated circuit (ASIC) is a hardware device specially designed for a specific application. An ASIC is usually very power efficient. ASIC devices are used in many wireless devices (i.e., cell phones, etc.). An application specific instruction set processor (ASIP) is an enhanced version of an ASIC device that adds more programmability to the ASIC hardware.
Each of the above-described processors has certain advantages and suffers from particular disadvantages. Digital signal processors are the most flexible type of processor, from a software point of view, in order to meet software-defined radio (SDR) requirements. However, DSP devices do not have enough MIPS performance and bit manipulation architecture to meet 3G and 4G bit-rate processing requirements. RISC processors target control applications, but are inadequate beyond baseband applications for wireless network implementations. CISC processors may have the flexibility and the MIPS performance to process baseband applications, but their poor power efficiency makes them unsuitable for handset power restrictions. FPGA devices, like CISC processors, may meet the required MIPS performance, but their poor power efficiency makes them unsuitable for handset designs.
ASIC devices are well matched to the power and cost restrictions of handset designs. However, their flexibility is too limited to make them suitable for SDR implementations. ASIP devices achieve greater flexibility than ASIC devices by adding more programmability to the application specific hardware and by introducing instruction-set processors to the hardware. However, since ASIPs are general-purpose devices, their processor core efficiency depends on the application being processed. The more control code in the application, the less efficient the ASIP will be. This results in poor performance and higher power consumption.
Additional disadvantages of the prior art processors are scalability and modularity. The software-defined radio (SDR) approach was created in order to minimize cost (design time, TTM) and power consumption and to maximize flexibility. The prior art processor implementations fail to provide an optimized combination of scalability and modularity.
Designing data processors for use in mobile stations is inherently difficult due to the tradeoffs that must always be made between competing considerations, including energy efficiency, computation power, and flexibility. Most current multi-standard wireless devices comprise blocks of separate and largely independent ASIC devices, each of which is related to a different wireless standard. The separate ASIC devices are stacked together in order to provide support for several wireless standards simultaneously. This brute-force method incurs severe penalties due to increased die size, increased power, and lack or flexibility. On the other hand, general purpose DSPs and similar architectures have a lot of flexibility. However, these devices have high power consumption and typically cannot meet the real-time computation requirements of most wireless standards.
Conventional mobile stations (or wireless terminals) are based on multiple ASIC devices because of power and performance considerations. As noted, these ASIC devices are normally dedicated to only particular functions in the system. For example, in most conventional wideband code division multiple access (WCDMA) mobile stations, separate ASIC blocks are typically used for the correlator function and for the cell search function, even though both blocks are very similar. If both functions could be implemented using the same reconfigurable hardware to the greatest degree possible, such as solution would be more power efficient and would use less die size.
Therefore, there is a need in the art for an improved software-defined radio (SDR) architecture that minimizes cost and power consumption while maintaining flexibility. In particular, there is a need for a reconfigurable correlation unit for use in software-defined radio (SDR) wireless devices.